The proliferation of capable user devices, pervasive communication, and increased bandwidth has provided opportunity for many enhanced services for users. One example is video calling. Once the domain of high-end, dedicated systems from vendors such as POLYCOM®, video calling has become available to the average consumer at a reasonable cost. For example, the Biscotti™ device, available from Biscotti Inc., provides an inexpensive tool to allow video calling using a high-definition television and an Internet connection. Such devices present a powerful platform for various applications. Examples include, without limitation, video calling, instant messaging, presence detection, status updates, media streaming over the Internet, web content viewing, gaming, and DVR capability. Another example of such value added services is the introduction of online gaming. Rather than playing a game by him- or herself, a user now can play most games in a multiplayer mode, using communication over the Internet or another network.
Enabling such services is a new class of user device, which generally features relatively high-end processing capability (which would have been unthinkable outside supercomputing labs just a few years ago), substantial random access memory, and relatively vast storage capabilities, including hard drives, solid-state drives, and the like. Such user devices can include, without limitation, the video calling devices mentioned above, the presence detection devices (“PDDs”) described in the Mobile Presence Detection Application various video game consoles, and the like. Such devices generally have a reliable, and relatively high-speed, connection to the Internet (to enable the value added services) and significant amounts of downtime, in which the processing and other capabilities of the devices are unused.
Historically, in the cloud computing space, infrastructure used for cloud computing and cloud storage has been hosted in large data centers that contain many general purpose and/or special purpose computers. Similarly, hosted applications such as web hosting, e-mail hosting, file transfer protocol (“FTP”) functionality, and/or other services are typically hosted from a centralized data center. Such services may require storage, computation, and network connectivity. Such services may also include computational services. These services require establishing, operating, and maintaining such facilities, as well as the networking infrastructure required to implement distributed computing or distributed data storage or the like, all of which may add to the cost of the resultant cloud services. Further, hosting providers typically host applications for many different entities from a small number of locations, making the entire system susceptible to losses to a significant portion of the services in the case that one or more of the number of locations experience system crashes, perhaps due to events, including, without limitation, sudden high demand, natural or man-made disasters, local/regional power grid issues, and/or the like. Finally, Content Delivery Networks, which replicate and cache data closer to the users, typically use a limited number of peering locations that cache content closer to users, which may result in data congestion—and thus long data transmission times.
Hence, there is a need for more robust and scalable distributed infrastructure solutions, and some such solutions can employ the powerful user devices already resident in many users' homes.